package Test;

//比较两个数组，并返回他们中相同的元素

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class ArrayComparison {
    public static void main(String[] args) {




                int[] array1 = {1, 2, 3, 4, 5};
                int[] array2 = {3, 4, 5, 6, 7};

                // 调用方法比较两个数组并获取相同元素
                int[] commonElements = findCommonElements(array1, array2);

                // 打印相同元素
                System.out.print("相同的元素: ");
                for (int element : commonElements) {
                    System.out.print(element + " ");
                }
            }

            public static int[] findCommonElements(int[] array1, int[] array2) {
                List<Integer> commonList = new ArrayList<>();

                // 将第一个数组的元素放入HashSet中，以便快速查找
                Set<Integer> set = new HashSet<>();
                for (int num : array1) {
                    set.add(num);
                }

                // 遍历第二个数组，检查HashSet中是否存在相同的元素
                for (int num : array2) {
                    if (set.contains(num)) {
                        commonList.add(num);
                    }
                }

                // 将List转换为数组
                int[] commonArray = new int[commonList.size()];
                for (int i = 0; i < commonList.size(); i++) {
                    commonArray[i] = commonList.get(i);
                }

                return commonArray;
            }
        }

